草庐IT

c++ - 为什么 std::is_array 对 std::array 返回 false?

全部标签

ruby - Ruby 中神秘的数据类是什么?

今天,我无意中发现了Ruby中神秘的Data类,但我找不到任何有用的信息来说明它的作用或它为什么存在。我假设它是语言实现本身的一部分。有人知道它的作用吗?mbp-scott:~scott$irbruby-1.9.3-p0:001>Data=>Dataruby-1.9.3-p0:002>Data.is_a?Module=>trueruby-1.9.3-p0:003>Data.is_a?Class=>trueruby-1.9.3-p0:004>Data.ancestors=>[Data,Object,Kernel,BasicObject]ruby-1.9.3-p0:005>Data.met

ruby - 为什么 Ruby 方法调用特别慢(与其他语言相比)?

我正在尝试阅读有关Ruby性能的信息,并遇到了thisSOthread,其中一个答案提到“方法调用,Ruby中最常见的操作之一,特别慢。”Anotherthread提到“它对方法进行“后期查找”,以提供灵active。这会减慢它的速度。它还必须记住每个上下文的名称以允许eval,因此它的框架和方法调用速度较慢。”有人可以更详细地解释为什么Ruby方法调用特别慢,并详细说明第二个线程吗?我不完全确定延迟查找是什么或为什么它很慢,而且我不知道每个上下文的名称是什么意思或它与框架和方法调用的关系。我(可能不正确)的理解是,由于可以在运行时添加或修改方法,Ruby解释器永远不会“记住”如何运行

ruby - exit 和 exit 有什么区别!在 ruby ?

exit和exit有什么区别!在ruby中? 最佳答案 一些事情:退出处理程序以“退出”形式而非“退出!”形式运行。这意味着分配给“清理”的任何代码都不会使用“退出!”运行“退出状态”在“退出!”中默认设置为false。形式,而在“退出”形式中是正确的。“退出状态”是向操作系统发送的有关程序停止执行的消息。它们都是内核方法:http://www.ruby-doc.org/core/classes/Kernel.html 关于ruby-exit和exit有什么区别!在ruby?,我们在St

ruby - 我如何打破 map /收集并返回到那时收集的任何东西?

我正在用代码重写这个问题:many=1000#Anexpensivemethod.##Itreturnssomedataornilifnoresultisavailable.expensive_method=lambdadorand(5)==0?nil:"foo"end#Now,let'scollectsomedataandstopcollectingwhennomoredatais#available.#Thisisconcisebutdoesn'twork.collection=many.times.mapdoexpensive_method.call||breakendputsc

ruby - 为什么我们要将 Ruby 1.9.2/1.9.3 gem 安装到 1.9.1 文件夹中?

这是因为gem命令使用的Gem安装目录,在使用gemenv时看到,被设置为如下内容:/lib/ruby/gems/1.9.1我的问题是为什么?文件夹不应该叫:/lib/ruby/gems/1.9.x或/lib/ruby/gems/1.9否则每个Ruby版本都不能有一个,例如:c:/ruby191/lib/ruby/gems/1.9.1c:/ruby192/lib/ruby/gems/1.9.2c:/ruby193/lib/ruby/gems/1.9.3我知道这不是关键问题,我只是想知道。 最佳答案 在Ruby1.9.0中,C接口(i

ruby - Ruby gems 的默认搜索路径是什么?即默认的 GEM_HOME

Rubygems的默认搜索路径是什么?我正在尝试确定可以将哪些目录传递给gem的--install-dir开关,这样我就不必设置环境变量GEM_HOME表示要找到的gem。特别是,如果我安装gemjekyll通过$geminstall--bindir/usr/local/bin--install-dir/usr/local/lib/ruby/gems/1.8jekyll然后/usr/local/bin/jekyll在没有显式设置GEM_HOME的情况下找不到它的库:$jekyll--help/usr/lib/ruby/1.8/rubygems.rb:779:in`report_acti

javascript - 为什么不 decodeURI ("a+b") == "a b"?

我正在尝试在Ruby中对URL进行编码并使用Javascript对其进行解码。但是,加号给了我奇怪的行为。在ruby中:[Dev]>CGI.escape"ab"=>"a+b"[Dev]>CGI.unescape"a+b"=>"ab"到目前为止一切顺利。但是Javascript呢?>>>encodeURI("ab")"a%20b">>>decodeURI("a+b")"a+b"基本上我需要一种编码/解码URL的方法,它在Javascript和Ruby中的工作方式相同。编辑decodeURIComponent也好不到哪里去:>>>encodeURIComponent("ab")"a%20b

ruby 1.9 : Convert byte array to string with multibyte UTF-8 characters

我正试图在Ruby中找到一种方法来获取UTF-8字节数组并将其转换回字符串。在irb(Ruby1.9.2预览版3)中,我可以从UTF-8字符串创建正确的字节数组:ruby-1.9.2-preview3>'Café'.bytes.to_a=>[67,97,102,195,169]但是,我找不到从字节返回数组的方法。我尝试将Array.pack与U*选项一起使用,但这不适用于多字节字符。ruby-1.9.2-preview3>[67,97,102,195,169].pack('U*')=>"Café"有没有人知道如何将包含多字节字符的UTF-8字节数组转换回字符串?谢谢。

ruby-on-rails - 在 Ruby 1.9 中访问类变量的正确方法是什么?

我正在尝试设置一些类变量来存储Rails应用程序中的路径(但我认为这更像是一个ruby​​问题)基本上我的类(class)是这样的classImage但是当我尝试通过执行Image.path_to_images从我的Controller访问@@path_to_images时,我得到一个NoMethodError当我尝试使用Image.class_eval(@@path_to_images)时,我在ImagesController中得到未初始化的类变量@@path_to_images我四处搜索了一下,我所看到的都说这些会起作用,所以我对此很困惑此外,我尝试像这样用ruby​​控制台定义简

ruby - 什么时候用模块,什么时候用类

我目前正在通过GregoryBrownRubyBestPractices工作书。早些时候,他谈到将一些功能从相关类的辅助方法重构为模块的一些方法,然后让模块extendself。之前没有看到过,在快速谷歌之后,发现模块上的extendself允许模块上定义的方法相互看到,这是有道理的。现在,我的问题是你什么时候会做这样的事情moduleStyleParserextendselfdefprocess(text)...enddefstyle_tag?(text)...endend然后在测试中引用它@parser=Prawn::Document::Text::StyleParser与这样的东